//////////////////////////////////////////////////////////////////////
// ARGUMENTS
//////////////////////////////////////////////////////////////////////

var target = Argument("target", "Default");
var configuration = Argument("configuration", "Release");
var verbosity = Argument("verbosity", Verbosity.Minimal);

//////////////////////////////////////////////////////////////////////
// PREPARATION
//////////////////////////////////////////////////////////////////////

var solution = "./BuildProjectDemo.sln";

//////////////////////////////////////////////////////////////////////
// TASKS
//////////////////////////////////////////////////////////////////////

Task("Build")
    .Does(() =>
{
    var settings = new MSBuildSettings()
    .SetConfiguration(configuration)
    .SetVerbosity(verbosity)
    .WithProperty("DeployOnBuild", "true");
    MSBuild(solution, settings);
});

Task("Zip")
    .IsDependentOn("Build")
    .Does(() =>
{
    CreateDirectory("./artifacts");
    Zip("./BuildProjectDemo/bin/Release/Publish", System.IO.Path.GetFullPath("./artifacts/site.zip"));
});

Task("Default")
    .IsDependentOn("Zip");

//////////////////////////////////////////////////////////////////////
// EXECUTION
//////////////////////////////////////////////////////////////////////

RunTarget(target);